package jmine.tec.security.ldap.connector;

import javax.naming.NamingException;
import javax.naming.directory.Attributes;

import org.springframework.ldap.core.AttributesMapper;

/**
 * Filtra a resposta do LDAP trazendo apenas o valor associado ao cn. <br />
 * Usado para trazer o nome dro grupo ao qual pertence o usuário.
 * 
 * @author seiti
 * @created Sep 17, 2010
 */
public class GroupMapper implements AttributesMapper {
    private String groupNameAttribute;

    /**
     * Construtor
     * 
     * @param groupNameAttribute nome do atributo do grupo.
     */
    public GroupMapper(String groupNameAttribute) {
        this.groupNameAttribute = groupNameAttribute;
    }

    /**
     * {@inheritDoc}
     */
    public String mapFromAttributes(Attributes attributes) throws NamingException {
        return (String) attributes.get(this.groupNameAttribute).get();
    }
}
